'use strict';
(function(){
  var baseImageUrl = 'http://static.winnovator.cn/scale/15/';

  var ratef = function(v){
    var tv = (((v +6)/(12)+0.1)*100).toFixed(1);
    if(tv > 100){
      return 100;
    }
    return tv;

  }

  var resultDescData =
  [
    {
      check:function(dimValue){
          if(dimValue >= -6 && dimValue <= 0){
            return true;
          }
        return false;
      },
      getResult: function(dimValue){
        return {
          id : 'r1',
          title:'有些不太乐观',
          rate:ratef(dimValue),
          desc:'' +
          '<h4>' +
          '您的孩子看待问题似乎有些不太乐观呢，乐观程度' +
          ratef(dimValue)+
          '%。对于一些消极的事件，TA可能会认为是一些长期的性格方面的原因导致，对于这些事件的结果和影响也可能会泛化；而对于一些积极的事件，TA可能会归因为一些偶然因素。希望家长能积极采取办法，求助一些心理方面的专家，多鼓励孩子，尝试着让他改变这种归因的倾向，以免孩子陷入抑郁的危险。' +
          '</h4>',
          url: baseImageUrl + 'result.jpg'
        }
      }
    },
    {
      check:function(dimValue){
        if(dimValue >= 1 && dimValue <= 3){
          return true;
        }
        return false;
      },
      getResult: function(dimValue){
        return {
          id : 'r2',
          title:'比较乐观',
          rate:ratef(dimValue),
          desc:'' +
          '<h4>' +
          '您的孩子比较乐观哦！乐观程度' +
          ratef(dimValue) +
          '%。一般情况下TA会认为自己的一些小成就是因为自己性格方面的优势，也会认为自己的这些优势会一直持续下去并泛化到生活的方方面面；而一些小挫折可能只是暂时的。这是孩子的天性也是优势哦！要让TA保持下去。' +
          '</h4>',
          url: baseImageUrl + 'result.jpg'
        }
      }
    },
    {
      check:function(dimValue){
        if(dimValue >= 4 && dimValue <= 6){
          return true;
        }
        return false;
      },
      getResult: function(dimValue){
        return {
          id : 'r3',
          rate:ratef(dimValue),
          title:'非常乐观',
          desc:'' +
          '<h4>' +
          '您的孩子非常乐观哦！乐观程度' +
          ratef(dimValue) +
          '%。TA会觉得自己的一些小成就都是因为自己性格方面的优势，也会认为自己的这些优势会一直持续下去并泛化到生活的方方面面。这是孩子的天性和优势哦，不过，记得提醒TA，自大的孩子可能会吃亏哦！' +
          '</h4>',
          url: baseImageUrl + 'result.jpg'
        }
      }
    }

  ];

  function getRandomNum(Min,Max)
  {
    var Range = Max - Min;
    var Rand = Math.random();
    return(Min + Math.round(Rand * Range));
  }

  var selectedResult = [];

  window.roundDataUtil = {
    getNext: function(answerId, allAnswers){ //根据已有的答题序列获得下一提
      var tempResult = allAnswers;
      answerId = answerId.aid;
      var oneAnswer = _answers[answerId];
      var nextItem = oneAnswer.next;
      var data = null;
      var questionIndex = -1;
      if(nextItem.type === 'q'){
        data = questions_map[nextItem.id];
        //获得下一题目的索引值
        for(var i = 0 ; i < _questions.length ; i ++){
          var oneQuestoin = _questions[i];
          if(oneQuestoin.id == nextItem.id){
            questionIndex = i;
            break;
          }
        }
      }else{
        //答题结果
        //data = result_map[nextItem.id];
        var dimValue = 0;
        _.mapObject(tempResult, function(val,key){
          var oneSelect = val.select;

          var oneDimValue = _.reduce(_.values(oneSelect), function(memo, num){ return memo + num; }, 0);

          //console.log(oneDimValue);
          dimValue += oneDimValue;
          return val;
        });

        var data = null;
        for(var i = 0; i < resultDescData.length; i++){
          var tmpDesc = resultDescData[i];

          if(tmpDesc.check(dimValue)){
            data = tmpDesc.getResult(dimValue);

            break;
          }
        }

        if(data === null){
          data = resultDescData[1].getResult(dimValue);
        }


      }


      return {
        type: nextItem.type,
        data:data,
        pageIndex: questionIndex
      }

    },
    getAllSceneData : function(){
        return sceneData;
    },
    //通过qid,生成qid对应题目的题目
    generateData : function(qid){

    },
    selectItem: function(selectResult){
      selectedResult.push(selectResult)

    },
    selectItemBatch:function(qid,selectResultArr){
      var that = this;
      _.each(selectResultArr, function(oneSelectResult){
        that.selectItem(qid, oneSelectResult);
      });

      userSelectResult.uSelect.push(selectResultArr);
    },
    getUserSelectResult:function(){

    }
  }

  var _questions = [
    {
      'id': '1',
      'caption': '你考试拿了个A高分',
      'img_src': baseImageUrl + '1.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'1', 'caption': '我很聪明','results': {'1':0,'2':1,'3':0},'next':{'type':'q','id':'2'}},
        {'id':'2', 'caption': '我擅长这一科','results':  {'1':0,'2':0,'3':0},'next':{'type':'q','id':'2'}}
      ]
    },
    {
      'id': '2',
      'caption': '有的小朋友说他们不喜欢你',
      'img_src': baseImageUrl + '2.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'3', 'caption': '有的时候他们对我不友好','results': {'1':0,'2':0,'3':0},'next':{'type':'q','id':'3'}},
        {'id':'4', 'caption': '有的时候我对他们不友好','results':  {'1':0,'2':0,'3':-1},'next':{'type':'q','id':'3'}}
      ]
    },
    {
      'id': '3',
      'caption': '你讲了一个笑话，但没有人笑',
      'img_src': baseImageUrl + '3.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'5', 'caption': '我不太会讲笑话','results': {'1':0,'2':0,'3':-1},'next':{'type':'q','id':'4'}},
        {'id':'6', 'caption': '这个笑话大家都听过，所以不觉得好笑','results':  {'1':0,'2':0,'3':0},'next':{'type':'q','id':'4'}}
      ]
    },
    {
      'id': '4',
      'caption': '你跟一组小朋友合作完成一个项目，但结果很不理想',
      'img_src': baseImageUrl + '4.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'11', 'caption': '我跟那组人合作得不好','results': {'1':0,'2':0,'3':0},'next':{'type':'q','id':'5'}},
        {'id':'12', 'caption': '我从来没有合作好过','results':  {'1':0,'2':-1,'3':0},'next':{'type':'q','id':'5'}}
      ]
    },
    {
      'id': '5',
      'caption': '你交了一个新朋友',
      'img_src': baseImageUrl + '5.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'13', 'caption': '我的为人很好','results': {'1':0,'2':0,'3':1},'next':{'type':'q','id':'6'}},
        {'id':'14', 'caption': '我遇见的那个人很好','results':  {'1':0,'2':0,'3':0},'next':{'type':'q','id':'6'}}
      ]
    },
    {
      'id': '6',
      'caption': '你跟你的家人相处得很好',
      'img_src': baseImageUrl + '6.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'15', 'caption': '我总是和家人相处融洽','results': {'1':1,'2':0,'3':0},'next':{'type':'q','id':'7'}},
        {'id':'16', 'caption': '我有时候和家人相处融洽','results':  {'1':0,'2':0,'3':0},'next':{'type':'q','id':'7'}}
      ]
    },
    {
      'id': '7',
      'caption': '你去卖糖果，但没人买你的',
      'img_src': baseImageUrl + '7.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'19', 'caption': '最近很多小孩都在卖东西，所以人们不愿再买小孩的东西','results': {'1':0,'2':0,'3':0},'next':{'type':'q','id':'8'}},
        {'id':'20', 'caption': '大人不喜欢买小孩的东西','results':  {'1':-1,'2':0,'3':0},'next':{'type':'q','id':'8'}}
      ]
    },
    {
      'id': '8',
      'caption': '你妈妈做了你最爱吃的晚饭',
      'img_src': baseImageUrl + '8.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'21', 'caption': '我妈妈会为了让我高兴而做一些事','results': {'1':0,'2':0,'3':0},'next':{'type':'q','id':'9'}},
        {'id':'22', 'caption': '我妈妈喜欢让我高兴','results':  {'1':0,'2':1,'3':0},'next':{'type':'q','id':'9'}}
      ]
    },
    {
      'id': '9',
      'caption': '老师问你一个问题，你答错了',
      'img_src': baseImageUrl + '9.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'23', 'caption': '每次回答问题我都会紧张','results': {'1':-1,'2':0,'3':0},'next':{'type':'q','id':'10'}},
        {'id':'24', 'caption': '那天回答时我很紧张','results':  {'1':0,'2':0,'3':0},'next':{'type':'q','id':'10'}}
      ]
    },
    {
      'id': '10',
      'caption': '你去乡下度假，玩得很愉快',
      'img_src': baseImageUrl + '10.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'25', 'caption': '乡下非常漂亮','results': {'1':1,'2':0,'3':0},'next':{'type':'q','id':'11'}},
        {'id':'26', 'caption': '我们去的季节很好','results':  {'1':0,'2':0,'3':0},'next':{'type':'q','id':'11'}}
      ]
    },
    {
      'id': '11',
      'caption': '在朋友的聚会上，魔术师叫你做他的助手',
      'img_src': baseImageUrl + '11.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'27', 'caption': '纯粹是我运气好','results': {'1':0,'2':0,'3':0},'next':{'type':'q','id':'12'}},
        {'id':'28', 'caption': '我对他的表演表现出非常感兴趣的样子','results':  {'1':0,'2':0,'3':1},'next':{'type':'q','id':'12'}}
      ]
    },
    {
      'id': '12',
      'caption': '你想说服一个朋友和你一起去看电影，但是他不去',
      'img_src': baseImageUrl + '12.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'layout': { 'cols': '1','img': 'left'},
      'answers': [
        {'id':'29', 'caption': '那天他什么事都不想做','results': {'1':0,'2':-1,'3':0},'next':{'type':'r','id':'c'}},
        {'id':'30', 'caption': '那天他不想去看电影','results':  {'1':0,'2':0,'3':0},'next':{'type':'r','id':'c'}}
      ]
    }
  ];

  var _answers = _.indexBy(
      _.reduceRight(
        _.map(_questions, function(q){return q.answers}),
        function(a, b) { return a.concat(b); }, []),
      function(one){return one.id;}
  );
  var questions_map = _.indexBy(_questions, function(one){return one.id;});
  //var result_map = _.indexBy(resultDescData, function(one){return one.id;});
window.yoparentData = {
  'id':15,
  'cate_id': '1',
  'title': '儿童乐观测试',
  'imgSrc': baseImageUrl + 'face.jpg?t=' + Math.random(),
  'imgWidth': 650,'imgHeight': 310,
  'description': '孩子看待问题的方式各有不同，而这些看法上的差异会影响孩子的心态哦！你的孩子乐观吗？下面的测试将帮助你了解~<br />'+
  '请家长仔细地阅读以下的情境，并让孩子选择出TA认为比较符合自己的原因。（适用年龄，5-15岁）' +
  '<div style="text-align: center">' +
  ' <img src="http://static.winnovator.cn/scale/15/expert.png?t=2" style="width: 100%;height: auto; margin-top: 25px;"></div>',
  'isCheckResult':false,
  'showCheckResult':false,
  'share': {
    'title': '儿童乐观测试',
    'description':''
  },
  'questions': _questions,
  'tpl': 'default'
};
})();
